[ServiceContract(Namespace="http://Seroter.BizTalkSOA.Chapter6")]
public interface IAdverseEventSync
{
[OperationContract]
AdverseEventAction SubmitAdverseEvent(AdverseEvent NewAE);
}
[DataContract(Namespace="http://Seroter.BizTalkSOA.Chapter6")]
public class AdverseEvent
{
[DataMember]
public string Product { get; set; }
[DataMember]
public int PatientID { get; set; }
[DataMember]
public int PhysicianID { get; set; }
[DataMember]
public AECategoryType Category { get; set; }
[DataMember]
public DateTime DateStarted { get; set; }
[DataMember]
public ReportedByType ReportedBy { get; set; }
[DataMember]
public string Description { get; set; }
}
[DataContract(Namespace="http://Seroter.BizTalkSOA.Chapter6")]
asynchronous communicationusing, in WCFpublic class AdverseEventAction
asynchronous services, WCFsynchronous service, creating{
[DataMember]
public string SubmissionID { get; set; }
[DataMember]
public string Product { get; set; }
[DataMember]
public int PatientID { get; set; }
[DataMember]
public bool doCeaseMedication { get; set; }
[DataMember]
public bool doReduceDosage { get; set; }
[DataMember]
public bool doAdmitHospital { get; set; }
[DataMember]
public bool doScheduleFollowup { get; set; }
[DataMember]
WCFasynchronous services, usingpublic string AdditionalNotes { get; set; }
}
[DataContract]
public enum AECategoryType
{
[EnumMember]
InjectionSoreness = 0,
[EnumMember]
Swelling = 1,
[EnumMember]
Headache = 2,
[EnumMember]
Bleeding = 3,
[EnumMember]
Sickness = 4,
[EnumMember]
Rash = 5,
[EnumMember]
Other = 6
}
[DataContract]
public enum ReportedByType
{
[EnumMember]
Patient = 0,
[EnumMember]
Physician = 1,
[EnumMember]
SalesRep = 2,
[EnumMember]
Other = 3
}